# -*- coding:utf-8 -*-

# @Time    : 2023/8/22 11:58
# @Author  : zengwenjia
# @Email   : zengwenjia@lingxi.ai
# @File    : causal_dicover.py
# @Software: LLM_internal

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
import aiohttp
import json
import asyncio

async def call_gpt4(gpt_prompt):
    key_tuple = ("https://api.chatlingxi.com", "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")
    key = key_tuple[1]
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer " + key
    }
    payload = {
        "model": "gpt-4",
        "messages": gpt_prompt,
        "temperature": 0.9,
        "max_tokens": 4096,
        # "stream": True,
    }
    async with aiohttp.ClientSession() as session:
        response = await session.post(key_tuple[0] + "/v1/chat/completions",
                                      headers=headers, json=payload,
                                      timeout=aiohttp.ClientTimeout(total=100))
        content = await response.content.read()
    result = json.loads(content.decode())["choices"][0]['message']['content']
    return result
class CausalDiscover():
    def __init__(self):
        pass

    @classmethod
    def causal_discover(cls):
        prompt = [
            {"role": "system", "content": """
            你是一个AI助手，擅长因果发现,分析以下案例，构建出其所包含的因果图（用X->Y表示，其中X为因，Y为果)，在输出的因果图中，需求是因，产品条款及产品属性是果
示例：
众安尊享e生·中高端医疗保险2023版-保障内容
一般医疗保险金
最高80万
1） 在保险期间内，被保险人因遭受意外伤害事故或在等待期30天后因患疾病；
2） 在中华人民共和国卫生部门审核认定二级及二级以上的公立医院普通部发生的，需个人支付的、必须且合理的一般医疗费用；
3） 一般医疗费用包括：住院医疗费用、特殊门诊医疗费用、门诊手术医疗费用、住院前30天和出院后30天门急诊医疗费用和出院后特别关怀费用；
4） 保险人在扣除下述对应计划约定的年免赔额后，按100%的赔付比例给付本项保险金，年累计给付以下述对应计划的保额为限：
1) 普通部计划一的免赔额为0或5000元，保额为20万元；
2) 普通部计划二的免赔额为0或5000元，保额为80万元；
3) 普通部计划三的免赔额为0或5000元，保额为300万元；
4) 具体投保计划的免赔额由投保人在投保时选择，并在本保单中载明；
5） 以有基本医疗保险或公费医疗身份参保，但本次治疗费用未获得基本医疗保险或公费医疗补偿的，则赔付比例调整为60%，若因被保险人当年度已达到基本医疗保险所规定的最高支付限额，而本次治疗费用未获得基本医疗保险或公费医疗补偿的，不在此情况范围内；
6） 床位费限1,500元/天，陪床费限600元/天，且不高于双人病房标准（不包括单人病房、套房、家庭病床）。
7） 本产品一般医疗保险责任及重大疾病医疗保险责任项下的以下费用有单独约定：
1) 普通部计划一的重建手术费每次手术限额2万元，医疗器械费累计限额2万元，不承担耐用医疗设备费，精神和心理障碍治疗费累计限额2万元，不承担出院后特别关怀费用；
2) 普通部计划二的重建手术费每次手术限额10万元，医疗器械费累计限额10万元，耐用医疗设备费累计限额2万元，精神和心理障碍治疗费累计限额10万元，出院后特别关怀费用无单独限额；
3) 普通部计划三的重建手术费每次手术限额10万元，医疗器械费累计限额10万元，耐用医疗设备费累计限额2万元，精神和心理障碍治疗费累计限额10万元，出院后特别关怀费用无单独限额。
构建出的因果图：
有意外伤害事故或患疾病的风险->众安尊享e生·中高端医疗保险2023版->一般医疗保险金
报销住院医疗费用、特殊门诊医疗费用等->需要个人支付的医疗费用->众安尊享e生·中高端医疗保险2023版->一般医疗保险金保障范围
年免赔额（0或5000元）->众安尊享e生·中高端医疗保险2023版->普通部计划一医疗保险金(保额为20万元)
年免赔额（0或5000元）->众安尊享e生·中高端医疗保险2023版->普通部计划二医疗保险金(保额为80万元)
年免赔额（0或5000元）->众安尊享e生·中高端医疗保险2023版->普通部计划三医疗保险金(保额为300万元)
众安尊享e生·中高端医疗保险2023版->有基本医疗保险或公费医疗身份参保->赔付比例调整为60%
众安尊享e生·中高端医疗保险2023版->床位费或陪床费需求(但不超过双人病房标准) -> 床位费限1,500元/天，陪床费限600元/天
重建手术、医疗器械、耐用医疗设备、精神和心理障碍治疗等特殊需求->众安尊享e生·中高端医疗保险2023版->普通部计划一的重建手术费每次手术限额2万元、医疗器械费累计限额2万元等
重建手术、医疗器械、耐用医疗设备、精神和心理障碍治疗等特殊需求->众安尊享e生·中高端医疗保险2023版->普通部计划二的重建手术费每次手术限额10万元、医疗器械费累计限额10万元等
重建手术、医疗器械、耐用医疗设备、精神和心理障碍治疗等特殊需求->众安尊享e生·中高端医疗保险2023版-->普通部计划三的重建手术费每次手术限额10万元、医疗器械费累计限额10万元等
示例结束
            """},
            {'role': 'user', 'content': """
            1保险公司：国富人寿
承保年龄：出生满28天-55周岁
保障期限：终身
犹豫期：15天
承保职业: 1-4类
等待期：180天
保险费交费方式：年交（5年、10年、15年、20年、30年交）。

保险类型：重疾险
保险产品类型：重疾险

保障责任：110种重大疾病保险金
按合同约定若被保险人因意外伤害以外的原因在等待期内确诊初次发生合同约定的重大疾病[注]（无论一种或多种），按本合同已交保险费给付重大疾病保险金，合同终止。
若被保险人因意外伤害或于等待期后因意外伤害以外的原因确诊初次发生本合同约定的重大疾病（无论一种或多种），按本合同基本保险金额、已交保险费和确诊初次发生该重大疾病时本合同的现金价值的较大者给付重大疾病保险金。（若您投保时与保险公司约定投保的可选责任中包含首次重大疾病关爱金责任，且确诊初次发生该重大疾病时符合首次重大疾病关爱金的给付条件，则保险公司还将按本合同约定给付首次重大疾病关爱金），本合同的现金价值降为零。
保险公司给付重大疾病保险金后，本合同的重大疾病保险金、身故保险金或全残保险金（若选择投保）以及该种（或多种）重大疾病所属组别对应的中症疾病和轻症疾病的保险责任（包括中症疾病保险金、轻症疾病保险金、首次中症疾病关爱金（若选择投保）、首次轻症疾病关爱金（若选择投保）、“恶性肿瘤-轻度”额外保险金（若选择投保）、原位癌额外保险金（若选择投保）责任）均终止，本合同继续有效。
本合同的重大疾病保险金给付以一次为限。

保障责任：35种中症疾病保险金：12万元
若被保险人因意外伤害以外的原因在等待期内确诊初次发生合同约定的中症疾病[注]（无论一种或多种），不承担该种（或多种）中症疾病的保险责任，同时该种（或多种）中症疾病对应的保险责任（包括中症疾病保险金、首次中症疾病关爱金（若选择投保）、豁免保险费责任）均终止，合同继续有效。
若被保险人因意外伤害或于等待期后因意外伤害以外的原因确诊初次发生本合同约定的中症疾病（无论一种或多种），按合同基本保险金额的60%给付中症疾病保险金，合同继续有效。
若已按本合同约定给付重大疾病保险金、第二次重大疾病保险金、“恶性肿瘤-重度”额外保险金、特定心脑血管疾病额外保险金中的一项或多项，则：
(1)自最近一次重大疾病确诊之日起90日内（含第90日）确诊初次发生本合同约定的中症疾病（无论一种或多种），不承担该种（或多种）中症疾病的保险责任，同时该种（或多种）中症疾病对应的保险责任（包括中症疾病保险金、首次中症疾病关爱金（若选择投保）责任）均终止，合同继续有效。
(2)自最近一次重大疾病确诊之日起90日后（不含第90日）确诊初次发生本合同约定的与该种（或多种）重大疾病所属组别不同的中症疾病（无论一种或多种），按本合同基本保险金额的60%给付中症疾病保险金，本合同继续有效。
每种中症疾病仅给付一次中症疾病保险金，给付后该种中症疾病对应的中症疾病保险金责任终止。合同的中症疾病保险金给付累计以三次为限，当累计给付中症疾病保险金达到三次时，合同的中症疾病保险金责任终止。
因同一疾病原因、同次医疗行为或同次意外伤害事故导致其确诊初次发生本合同约定的两种或两种以上的中症疾病，仅按一种中症疾病给付中症疾病保险金。
中症疾病保险金仅针对符合本合同约定的中症疾病进行给付，对于同时符合重大疾病保险金给付条件的，仅给付重大疾病保险金，不再给付中症疾病保险金。

保障责任：40种轻症疾病保险金6万元
若被保险人因意外伤害以外的原因在等待期内确诊初次发生本合同约定的轻症疾病（无论一种或多种），不承担该种（或多种）轻症疾病[注]的保险责任，同时该种（或多种）轻症疾病对应的保险责任（包括轻症疾病保险金、首次轻症疾病关爱金（若选择投保）、“恶性肿瘤-轻度”额外保险金（若选择投保）、原位癌额外保险金（若选择投保）、豁免保险费责任）均终止，合同继续有效。
因意外伤害或于等待期后因意外伤害以外的原因经确诊初次发生本合同约定的轻症疾病（无论一种或多种），按合同基本保险金额的30%给付轻症疾病保险金，合同继续有效
若已按本合同约定给付重大疾病保险金、第二次重大疾病保险金、“恶性肿瘤-重度”额外保险金、特定心脑血管疾病额外保险金中的一项或多项，则：
(1)自最近一次重大疾病确诊之日起90日内（含第90日）确诊初次发生本合同约定的轻症疾病（无论一种或多种），保险公司不承担该种（或多种）轻症疾病的保险责任，同时该种（或多种）轻症疾病对应的保险责任（包括轻症疾病保险金、首次轻症疾病关爱金（若选择投保）、“恶性肿瘤-轻度”额外保险金（若选择投保）、原位癌额外保险金（若选择投保）责任）均终止，合同继续有效。
(2)自最近一次重大疾病确诊之日起90日后（不含第90日）确诊初次发生本合同约定的与该种（或多种）重大疾病所属组别不同的轻症疾病（无论一种或多种），按合同基本保险金额的30%给付轻症疾病保险金，合同继续有效。
每种轻症疾病仅给付一次轻症疾病保险金，给付后该种轻症疾病对应的轻症疾病保险金责任终止。本合同的轻症疾病保险金给付累计以四次为限，当累计给付轻症疾病保险金达到四次时，本合同的轻症疾病保险金责任终止。
若被保险人因同一疾病原因、同次医疗行为或同次意外伤害事故导致其确诊初次发生本合同约定的两种或两种以上的轻症疾病，保险公司仅按一种轻症疾病给付轻症疾病保险金。
轻症疾病保险金仅针对符合本合同约定的轻症疾病进行给付，对于同时符合重大疾病保险金给付条件的，保险公司仅给付重大疾病保险金，不再给付轻症疾病保险金。对于同时符合中症疾病保险金给付条件的，保险公司仅给付中症疾病保险金，不再给付轻症疾病保险金。

保障责任：保险费豁免豁免剩余各期保险费
若被保险人因意外伤害或于等待期后因意外伤害以外的原因确诊初次发生合同约定的重大疾病、中症疾病或轻症疾病，保险公司将豁免自该重大疾病、中症疾病或轻症疾病确诊之日以后合同剩余的各期保险费（不包括被保险人确诊重大疾病、中症疾病或轻症疾病之前所欠交的保险费及利息），合同的豁免保险费责任终止，合同继续有效，豁免保险费后，本合同视同正常交费的保险合同。

保障责任：（可选）10种特定心脑血管疾病额外保险金
若被保险人第一次重大疾病确诊为合同约定的特定心脑血管疾病[注]以外的其他重大疾病，且针对该疾病已给付重大疾病保险金，自该重大疾病确诊日180天后，确诊初次发生合同约定的特定心脑血管疾病（无论一种或者多种），按基本保险金额的120%给付，本责任终止。
若被保险人第一次重大疾病确诊为本合同约定的特定心脑血管疾病，且针对该疾病保险公司已给付重大疾病保险金，被保险人自该特定心脑血管疾病确诊之日起满1年后，再次确诊发生该种特定心脑血管疾病（理赔时必须提供相关病历记录证明被保险人自确诊初次发生该特定心脑血管疾病后，病情曾经好转至不再符合本合同所约定的特定心脑血管疾病定义），保险公司按本合同基本保险金额的120%给付特定心脑血管疾病额外保险金，本合同的特定心脑血管疾病额外保险金责任终止。
若确诊初次发生的特定心脑血管疾病为本合同约定的“严重脑中风后遗症”，则再次确诊发生的“严重脑中风后遗症”须由颅脑显像或影像学检查证实与确诊初次发生的“严重脑中风后遗症”相比为新一次的中风，且符合本合同约定的“严重脑中风后遗症”定义条件。
保险公司给付特定心脑血管疾病额外保险金后，该种（或多种）重大疾病所属组别对应的中症疾病和轻症疾病的保险责任（包括中症疾病保险金、轻症疾病保险金、首次中症疾病关爱金（若选择投保）、首次轻症疾病关爱金（若选择投保）责任）均终止。
若您与保险公司约定投保的可选责任中同时包含第二次重大疾病保险金和特定心脑血管疾病额外保险金责任，且本合同第二次重大疾病保险金责任未终止，对于同时符合特定心脑血管疾病额外保险金和第二次重大疾病保险金给付条件的，保险公司仅给付特定心脑血管疾病额外保险金，不给付第二次重大疾病保险金，第二次重大疾病保险金责任继续有效。
本合同的特定心脑血管疾病额外保险金给付以一次为限。

保障责任：（可选）身故或者全残保险金
若被保险人因意外伤害以外的原因在等待期内导致身故或全残的，按合同已交保险费给付身故保险金或全残保险金，合同终止。
若被保险人因意外伤害或于等待期后因意外伤害以外的原因导致身故或全残的，按以下约定给付身故保险金或全残保险金：
(1)18周岁的首个保单周年日之前（不含当日）身故或全残的，按本合同已交保险费和身故或全残时本合同现金价值的较大者给付身故保险金或全残保险金，本合同终止；
(2)18周岁的首个保单周年日之后（含当日）身故或全残的，按本合同基本保险金额、已交保险费和身故或全残时本合同现金价值的较大者给付身故保险金或全残保险金，本合同终止。
“身故保险金”、“全残保险金”两者不可兼得，若给付其中任何一项保险金，则另一项保险金将不再给付。
“重大疾病保险金”、“身故保险金或全残保险金”两者不可兼得，若给付其中任何一项保险金，则另一项保险金将不再给付。
“首次重大疾病关爱金”、“身故保险金或全残保险金”两者不可兼得，若给付其中任何一项保险金，则另一项保险金将不再给付。
同时符合重大疾病保险金和全残保险金给付条件的，仅给付重大疾病保险金，不给付全残保险金。

保障责任：（可选）第二次重大疾病保险金
按合同约定给付重大疾病保险金后，自该次重大疾病确诊之日起满1年后，且在被保险人60周岁的首个保单周年日（不含当日）前，确诊初次发生此前已确诊的重大疾病之外的其他重大疾病（无论一种或多种），按照以下约定给付第二次重大疾病保险金，给付后本责任终止。
第二次重大疾病保险金=基本保险金额×给付比例系数
满一年不满二年	基本保险金额×40%
满二年不满三年	基本保险金额×80%
满三年以上	基本保险金额×120%
给付第二次重大疾病保险金后，该种（或多种）重大疾病所属组别对应的中症疾病和轻症疾病的保险责任（包括中症疾病保险金、轻症疾病保险金、首次中症疾病关爱金（若选择投保）、首次轻症疾病关爱金（若选择投保）、“恶性肿瘤-轻度”额外保险金（若选择投保）、原位癌额外保险金（若选择投保）责任）均终止。
被保险人60周岁的首个保单周年日（含当日）之后确诊初次发生合同约定的重大疾病，保险公司不承担第二次重大疾病保险金责任。
若您与保险公司约定投保的可选责任中同时包含第二次重大疾病保险金和“恶性肿瘤——重度”额外保险金责任，且本合同第二次重大疾病保险金责任未终止，对于同时符合第二次重大疾病保险金和“恶性肿瘤——重度”额外保险金给付条件的，保险公司仅给付“恶性肿瘤——重度”额外保险金，不给付第二次重大疾病保险金，第二次重大疾病保险金责任继续有效。
若您与保险公司约定投保的可选责任中同时包含第二次重大疾病保险金和特定心脑血管疾病额外保险金责任，且本合同第二次重大疾病保险金责任未终止，对于同时符合第二次重大疾病保险金和特定心脑血管疾病额外保险金给付条件的，保险公司仅给付特定心脑血管疾病额外保险金，不给付第二次重大疾病保险金，第二次重大疾病保险金责任继续有效。
本合同的第二次重大疾病保险金给付以一次为限。

保障责任：（可选）疾病关爱金
1.首次重大疾病关爱保险金
若被保险人在60周岁的首个保单周年日之前（不含当日），因意外伤害或于等待期后因意外伤害以外的原因确诊初次发生本合同约定的重大疾病（无论一种或多种），按本合同基本保险金额的80%给付首次重大疾病关爱金，本合同的首次重大疾病关爱金责任终止。
2.首次中症疾病关爱保险金
若被保险人在60周岁的首个保单周年日之前（不含当日），因意外伤害或于等待期后因意外伤害以外的原因确诊初次发生本合同约定的中症疾病（无论一种或多种），按本合同基本保险金额的30%给付首次中症疾病关爱金，本合同的首次中症疾病关爱金责任终止。
3.首次轻症疾病关爱保险金
若被保险人在60周岁的首个保单周年日之前（不含当日），因意外伤害或于等待期后因意外伤害以外的原因确诊初次发生本合同约定的轻症疾病（无论一种或多种），按本合同基本保险金额的15%给付首次轻症疾病关爱金，本合同的首次轻症疾病关爱金责任终止。

可以为家人购买这个产品吗？
可以，支持为配偶、父母、子女购买。被保险人年龄需满足出生满28天-55周岁。

本产品支持什么证件类型投保？
支持投保人使用身份证，被保险人/受益人使用身份证或户口本，
户口本仅限16周岁及以下被保险人/受益人使用，且需注意投保时户口本有效期的结束日期需填写为16周岁生日当日。

重疾赔付后，轻症/中症可以继续赔付吗？
若未达到轻症/中症累计赔付次数，自最近一次重疾确诊之日起满90天，非同组轻症/中症还可再赔，直到达到轻症/中症累计赔付次数，轻症累计赔付次数是4次，中症累计赔付次数是3次。

特定心脑血管疾病额外保险金和“恶性肿瘤-重度”额外给付保险金是否可以同时选择？
不可以同时选择。

“第二次重大疾病保险金”和“恶性肿瘤-轻度/重度、原位癌额外保险金”是否可以同时赔付？
不可以。若同时符合“第二次重大疾病保险金”和“恶性肿瘤-轻度/重度、原位癌额外保险金”的赔付标准，保险公司仅按照恶性肿瘤-轻度/重度、原位癌额外保险金进行赔付，第二次重大疾病保险金责任继续有效。


            """}
        ]
        result = asyncio.run(call_gpt4(prompt))
        print(result)

if __name__ == '__main__':
    CausalDiscover.causal_discover()
